home *** CD-ROM | disk | FTP | other *** search
- #include "xlib.h"
- #include "xtext.h"
- #include <conio.h>
- #include <stdlib.h>
- #include <stdio.h>
- #include <bios.h>
- #include <alloc.h>
- #include "yakPal.h"
- #include "platform.h"
- #include "sb1misc.h"
- #include "yakkeys.h"
- #include "yakfont.h"
- #include "xrect.h"
- //extern yakMouse mouse;
-
- extern yakLib myYakLib;
- extern yakFont myYakFont;
- extern yakLib sb1Lib;
- grumPlayer player1;
- extern player * firstPlayer;
-
- void getKeys(void)
- {
- if (keyboard.keys[yakKeyboard::upArrow])
- player1.go(platformBeast::jump);
- if (keyboard.keys[yakKeyboard::leftArrow])
- player1.go(platformBeast::goLeft);
- if (keyboard.keys[yakKeyboard::rightArrow])
- player1.go(platformBeast::goRight);
- if (keyboard.keys[yakKeyboard::spaceBar])
- {
- keyboard.keys[yakKeyboard::spaceBar] = 0;
- player1.fireMissile();
- }
- }
-
-
- void beetDemo(void)
- {
- keyboard.install();
- firstPlayer = &player1;
- randomize();
- x_set_mode(0, 435);
- x_set_splitscreen(150);
- x_set_doublebuffer(240);
- x_text_init();
- myYakFont.use();
- yakPalette myYakPalette("standard.ypl", &myYakLib);
- myYakPalette.put();
- loadIcons();
- animap backgroundMap(2, 48, 32, 32);
- backgroundMap.loadIcon(0, "swall", &myYakLib);
- backgroundMap.loadIcon(1, "sfloor", &myYakLib);
- backgroundMap.randomize();
- player1.assignIcon(PLAYER, factor::eightFace);
- player1.mymap = &backgroundMap;
- player1.squareX = 23;
- player1.squareY = 23;
- player1.put(0,0);
- blob *myBlob[10];
- backgroundMap.randomize();
- for (int blobCounter = 0; blobCounter < 10; ++blobCounter)
- {
- myBlob[blobCounter] = new blob;
- myBlob[blobCounter]->mymap = &backgroundMap;
- myBlob[blobCounter]->put(random(25), random(25));
- }
- backgroundMap.showXY(player1.mapX-4,player1.mapY-2, 96, 96, 8,4, HiddenPageOffs);
- x_page_flip(48 + player1.squareX, 48+player1.squareY);
- backgroundMap.showXY(player1.mapX-4,player1.mapY-2, 96, 96, 8,4, HiddenPageOffs);
- int oldMapX = player1.mapX, oldMapY = player1.mapY;
- drawBorder();
- while (!keyboard.keys[yakKeyboard::escape])
- {
- if ((oldMapX != player1.mapX) || (oldMapY != player1.mapY))
- {
- oldMapX = backgroundMap.lastMapX;
- oldMapY = backgroundMap.lastMapY;
- backgroundMap.smartRefresh(player1.mapX-4, player1.mapY-2, HiddenPageOffs);
- x_page_flip(48 + player1.squareX, 48+player1.squareY);
- x_cp_vid_rect(48,48,432,240,48,48,VisiblePageOffs, HiddenPageOffs, ScrnLogicalPixelWidth,ScrnLogicalPixelWidth);
- oldMapX = player1.mapX; oldMapY = player1.mapY;
- getKeys();
- backgroundMap.advance();
- }
- else
- {
- backgroundMap.smartRefresh(player1.mapX-4, player1.mapY-2, HiddenPageOffs);
- x_page_flip(48 + player1.squareX, 48+player1.squareY);
- x_bgprintf(10,10,SplitScrnOffs,15,20,"MapX %d***Mapy %d ", player1.mapX, player1.mapY);
- x_bgprintf(10,20,SplitScrnOffs,15,20,"SquX %d***Squy %d ", player1.squareX, player1.squareY);
- x_bgprintf(10,30,SplitScrnOffs,15,20,"Hit Points: %d ", player1.hitPoints);
- getKeys();
- backgroundMap.advance();
- }
- if ((player1.mymap->mapData[player1.mapX][player1.mapY].myTerrainType == 1) && (player1.squareY == FLOORHEIGHT))
- player1.xMomentum = 0;
- }
- for (blobCounter = 0; blobCounter < 10; ++blobCounter)
- delete myBlob[blobCounter];
- keyboard.remove();
- x_text_mode();
- factor::clearFactor(0);
- factor::clearFactor(1);
- factor::clearFactor(2);
- }